unix shop logic programming online shopping open source lisp doors prolog replacement windows solaris prolog compiler windows logic artificial intelligence siding java c++